class Solution {
public:

    ListNode* reverseList(ListNode* head) 
    {
        //为什么设置两个不为空
        //比如如果链表长度是奇数的时候，最后一个就停止了
        if(head==nullptr||head->next==nullptr)
        {
            return head;
        }
        ListNode* newhead=reverseList(head->next);      //反转剩下的
        //当前节点和后面链表的第一个反转
        head->next->next=head;     
        head->next=nullptr;
        //返回新的头
        return newhead;
    }
};